[INFO] cloning repository https://github.com/WUYUANLONG010/server_thread
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WUYUANLONG010/server_thread" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 67ebec084ff16ab3f77106a9bf1bc3768ac3fc61
[INFO] checking WUYUANLONG010/server_thread against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWUYUANLONG010%2Fserver_thread" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/WUYUANLONG010/server_thread
[INFO] finished tweaking git repo https://github.com/WUYUANLONG010/server_thread
[INFO] tweaked toml for git repo https://github.com/WUYUANLONG010/server_thread written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/WUYUANLONG010/server_thread on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/WUYUANLONG010/server_thread already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23700ccb69195585d40f487b37a54cb0e69769cc87f81abfe6b9052c2b3ef783
[INFO] running `Command { std: "docker" "start" "-a" "23700ccb69195585d40f487b37a54cb0e69769cc87f81abfe6b9052c2b3ef783", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23700ccb69195585d40f487b37a54cb0e69769cc87f81abfe6b9052c2b3ef783", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23700ccb69195585d40f487b37a54cb0e69769cc87f81abfe6b9052c2b3ef783", kill_on_drop: false }`
[INFO] [stdout] 23700ccb69195585d40f487b37a54cb0e69769cc87f81abfe6b9052c2b3ef783
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d5e315e9166bf8a261fc603a6d0d18f85d99b5aa835bff72689ba92da77203a
[INFO] running `Command { std: "docker" "start" "-a" "2d5e315e9166bf8a261fc603a6d0d18f85d99b5aa835bff72689ba92da77203a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling strsim v0.9.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking pnet_base v0.34.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking encode_unicode v0.3.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling pnet v0.34.0
[INFO] [stderr]     Checking pnet_macros_support v0.34.0
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking time-core v0.1.2
[INFO] [stderr]     Checking num-conv v0.1.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking pnet_sys v0.34.0
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking term v0.5.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.53
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking pnet_datalink v0.34.0
[INFO] [stderr]     Checking prettytable-rs v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling darling_core v0.10.2
[INFO] [stderr]    Compiling regex v1.10.3
[INFO] [stderr]    Compiling pnet_macros v0.34.0
[INFO] [stderr]    Compiling darling_macro v0.10.2
[INFO] [stderr]    Compiling darling v0.10.2
[INFO] [stderr]    Compiling timed_proc_macros v0.2.0
[INFO] [stderr]     Checking timed v0.2.1
[INFO] [stderr]     Checking pnet_packet v0.34.0
[INFO] [stderr]     Checking pnet_transport v0.34.0
[INFO] [stderr]     Checking server_obj_thread v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EtherType`
[INFO] [stdout]  --> src/main.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pnet::datalink::{self, DataLinkReceiver, DataLinkSender, EtherType};
[INFO] [stdout]   |                                                              ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalNetwork` and `self`
[INFO] [stdout]  --> src/main.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pnet::packet::ip::IpNextHeaderProtocols::{self, LocalNetwork};
[INFO] [stdout]   |                                               ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pnet::packet::{self, Packet};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv4::Ipv4Packet`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pnet::packet::ipv4::Ipv4Packet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f32::consts::E;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Chunks`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::slice::Chunks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EtherType`
[INFO] [stdout]  --> src/main.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pnet::datalink::{self, DataLinkReceiver, DataLinkSender, EtherType};
[INFO] [stdout]   |                                                              ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalNetwork` and `self`
[INFO] [stdout]  --> src/main.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use pnet::packet::ip::IpNextHeaderProtocols::{self, LocalNetwork};
[INFO] [stdout]   |                                               ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pnet::packet::{self, Packet};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pnet::packet::ipv4::Ipv4Packet`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pnet::packet::ipv4::Ipv4Packet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::E`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::f32::consts::E;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `option`
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::{array, option, vec};
[INFO] [stdout]    |           ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::Chunks`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::slice::Chunks;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:76:94
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout]    |                                                                                              ^                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout] 76 +     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<dyn DataLinkSender + 'static>>>){
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `array` and `option`
[INFO] [stdout]   --> src/main.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::{array, option, vec};
[INFO] [stdout]    |           ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:76:94
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout]    |                                                                                              ^                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<(dyn DataLinkSender + 'static)>>>){
[INFO] [stdout] 76 +     pub fn send_self_data_tx(&self,sign:&[u8;3],mac_other:datalink::MacAddr,tx:Arc<Mutex<Box<dyn DataLinkSender + 'static>>>){
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]   --> src/main.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     let packet =EthernetPacket::new(packet).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pay_time`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let pay_time = mid_time - start_time;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pay_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/main.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_time`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let send_time = end_time - mid_time;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]   --> src/main.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     let packet =EthernetPacket::new(packet).unwrap();
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]    |              ----^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pay_time`
[INFO] [stdout]    --> src/main.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let pay_time = mid_time - start_time;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pay_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_time`
[INFO] [stdout]    --> src/main.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let send_time = end_time - mid_time;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/main.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/main.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (mut tx,mut rx)= match datalink::channel(&self.datalink_channel, Default::default()){
[INFO] [stdout]     |                     ----^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:45
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn main_machine_handle_rx(&mut self,mut rx:Arc<Mutex<Box<dyn DataLinkReceiver>>>){
[INFO] [stdout]     |                                             ----^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:45
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn main_machine_handle_rx(&mut self,mut rx:Arc<Mutex<Box<dyn DataLinkReceiver>>>){
[INFO] [stdout]     |                                             ----^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let (mut tx,rx)=
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:306:10
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let (mut tx,rx)=
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_main` and `is_decide` are never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct PLC{
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 25 |     is_main:bool,//主机：1，备机：0
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     is_decide:bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_main` and `is_decide` are never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct PLC{
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 25 |     is_main:bool,//主机：1，备机：0
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     is_decide:bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl PLC {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn send_data_decide(&self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn send_self_data(&self,sign:&[u8;3],mac_other:datalink::MacAddr){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn change_data(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn main_machine_handle(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn renew_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn change_main(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn send_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn single_change_bool_to_u8(input:Vec<bool>)->Vec<u8>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout] 32  | impl PLC {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn send_data_decide(&self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn send_self_data(&self,sign:&[u8;3],mac_other:datalink::MacAddr){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn change_data(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn main_machine_handle(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn renew_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn change_main(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn send_1ms(&self){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn single_change_bool_to_u8(input:Vec<bool>)->Vec<u8>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.17s
[INFO] running `Command { std: "docker" "inspect" "2d5e315e9166bf8a261fc603a6d0d18f85d99b5aa835bff72689ba92da77203a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d5e315e9166bf8a261fc603a6d0d18f85d99b5aa835bff72689ba92da77203a", kill_on_drop: false }`
[INFO] [stdout] 2d5e315e9166bf8a261fc603a6d0d18f85d99b5aa835bff72689ba92da77203a
